/**
 *
 */
package com.angel.architecture.initializer.injector;

import java.lang.reflect.Field;

/**
 * @author William
 *
 */
public abstract class Injector {

	/**
	 *
	 */
	public Injector() {
		super();
	}

	public final void inject(Field field, Object object) {
		if (applies(field))
			doInject(field, object);
	}

	public abstract boolean applies(Field paramField);

	protected abstract void doInject(Field paramField, Object paramObject);

}
